package com.ztom.v2;

/**
 * @author ZhangTao
 */
public class Code78JumpGame {

    public boolean canJump(int[] nums) {
        // 记录能跳的最远位置 (下标)
        int rightMost = 0;
        for (int i = 0; i < nums.length; i++) {
            if (i > rightMost) {
                // 当前最远位置跳不到当前位置
                return false;
            }
            // 更新当前位置能否跳的更远
            rightMost = Math.max(rightMost, i + nums[i]);
            // 如果超过最后一个位置, 完成
            if (rightMost >= nums.length - 1) {
                return true;
            }
        }
        return false;
    }
}
